Transactional Memory

نویسندگان

  • Sean Lie
  • Krste Asanovic
چکیده

Shared memory parallel architectures present a single unified address space to each processor. Usually the memory is physically distributed across the system but each processor is able to access any part of it through a single address space. The system hardware is responsible for presenting this abstraction to each processor. Communication between processors is done implicitly through normal memory load and store operations. For this reason, shared memory architectures generally have much lower processor-to-processor latencies than message passing architectures which often rely on software to handle communication. In addition, the shared memory programming environment is more natural than that of message passing and is better suited for many applications. Often the ability to perform several memory operations atomically is required for correct program execution. Unlike message passing systems, achieving such atomicity in shared memory is a nontrivial task. Traditionally, a technique called locking has been used to solve this problem. A lock is a memory location that, by convention, protects a block of code that needs to be run atomically. Once a processor obtains the lock, that processor can execute the atomic block. All other processors wanting to execute that code must wait until the lock is released. The processor holding the lock must release it once it is done executing the atomic block. This entire mechanism is a convention that is maintained by software alone. The hardware only provides the necessary mechanisms to obtain, release, and check the status of any lock.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Verification of Transactional Memories that Support Non-Transactional Memory Accesses

A major challenge of Transactional memory implementations is dealing with memory accesses that occur outside of transactions. In previous work we showed how to specify transactional memory in terms of admissible interchanges of transaction operations, and gave proof rules for showing that an implementation satisfies its specification. However, we did not capture non-transactional memory accesse...

متن کامل

Predictable transactional memory architecture for hierarchical mixed-criticality systems

A transactional memory simplifies the concurrency management in multicore systems by permitting sets of load and store instructions to be executed in an atomic way. The correct results for concurrent transactions and the execution time strongly depend on the coherency potentials, rollback capabilities and strategies of the transactional memory. A transactional memory can be implemented as a Har...

متن کامل

Debugging with Transactional Memory

Transactional programming promises to substantially simplify the development of correct, scalable, and efficient concurrent programs. Designs for supporting transactional programming using transactional memory implemented in hardware, software, and a mixture of the two have emerged recently. To our knowledge, nobody has yet addressed issues involved with debugging programs executed using transa...

متن کامل

Two Interfaces to the RSTM Transactional Memory System∗

Software transactional memory is a promising new paradigm for concurrent programming. We explore the design of the application programmer interface to RSTM [MSH06] and propose language extensions to C++ that alleviate some of the unavoidable difficulties with the API. 1 The Transactional Memory Model

متن کامل

Dependence-Aware Transactional Memory

Transactional memory is a promising programming model to enable high performance programs with reasonable programmer effort on the parallel architectures favored by modern processor manufacturers. This paper introduces dependence-aware transactions, a new method for maintaining the conflict serializability safety property of memory transactions while allowing significant freedom for an implemen...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2003